#include <iostream>
#include <string>

using namespace std;

/*
类做友元
    B类 是 A类 好朋友
        A 就可以访问 B 内的私有数据

    你的朋友不一定把你当朋友

    朋友的朋友 不一定是你的朋友
*/

// 朋友前置
class data;

// 时间
class Time
{
private:
    int hour;
    int min;
    int sec;

public:
    Time()
        : hour(0), min(0), sec(0)
    {

    }
    Time(int hour, int min, int sec)
        : hour(hour), min(min), sec(sec)
    {

    }

    ~Time()
    {

    }

public:
    // 显示时间
    void show_Time()
    {
        cout << this->hour << ":" << this->min << ":" << this->sec << endl;
    }

    friend data;

    // // 显示时间 以及 日期
    // void show_Data_Time(data & D)
    // {
    //     cout << D.year << "/" << D.month << "/" << D.day << endl;
    //     cout << this->hour << ":" << this->min << ":" << this->sec << endl;
    // }
};

// 日期
class data
{
private:
    int year;
    int month;
    int day;

public:
    data()
        : year(0), month(0), day(0)
    {

    }
    data(int year , int month , int day)
        : year(year), month(month), day(day)
    {

    }
    

public:
    // 显示日期
    void show_Data()
    {
        cout << this->year << "/" << this->month << "/" << this->day << endl;
    }

    
    // 显示时间 以及 日期
    void show_Data_Time(Time & T)
    {
        cout << this->year << "/" << this->month << "/" << this->day << endl;
        cout << T.hour << ":" << T.min << ":" << T.sec << endl;
    }

    friend Time;


};



int main(int argc, char const *argv[])
{
    Time T(16 , 14 , 30);
    data D(2025 , 1 , 17);
    // T.show_Time();
    // D.show_Data();

    D.show_Data_Time(T);

    return 0;
}